

.LC0:
	.string " "

.LC1:
	.string "*"

.LC2:
	.string "\n"

.globl main

main:
	pushq %rbp
	movq %rsp,%rbp
	subq $0x1000,%rsp

	movl $0,-0x1000(%rbp) /* i */
	movl $0,-0xffc(%rbp) /* j */
	movl $0,-0xff8(%rbp) /* temp */
	movl $0,-0xff0(%rbp) /* arr */
	movl $3,-0xff0(%rbp) /* arr[0] */
	movl $2,-0xfec(%rbp) /* arr[1] */
	movl $1,-0xfe8(%rbp) /* arr[2] */
	movl $0,-0xfe4(%rbp) /* arr[3] */
	movl $1,-0xfe0(%rbp) /* arr[4] */
	movl $2,-0xfdc(%rbp) /* arr[5] */
	movl $3,-0xfd8(%rbp) /* arr[6] */

	jmp .Lmain_400

.Lmain_500:
	movl $0,-0xffc(%rbp) /* j */
	jmp .Lmain_490

.Lmain_499:
	leaq .LC0(%rip),%rdi 
	movl $0,%eax 
	call printf 

	addl $1,-0xffc(%rbp) /* j */

.Lmain_490:
	movl -0x1000(%rbp),%eax /* i */
	sall $2,%eax
	movslq %eax,%rax 
	leaq -0xff0(%rbp),%rdi /* arr */
	movl 0(%rdi,%rax,1),%ecx /* arr[i] */
	movl %ecx,-0xff8(%rbp) /* temp */
	cmpl %ecx,-0xffc(%rbp) /* j */
	jl .Lmain_499

	sall $1,%ecx
	movl $7,%ebx
	subl %ecx,%ebx 

	movl $0,-0xffc(%rbp) /* j */
	jmp .Lmain_480

.Lmain_489:
	leaq .LC1(%rip),%rdi 
	movl $0,%eax 
	call printf 

	addl $1,-0xffc(%rbp) /* j */

.Lmain_480:
	cmpl %ebx,-0xffc(%rbp) /* j */
	jl .Lmain_489

	movl $0,-0xffc(%rbp) /* j */
	jmp .Lmain_470

.Lmain_479:
	leaq .LC0(%rip),%rdi 
	movl $0,%eax 
	call printf 

	addl $1,-0xffc(%rbp) /* j */

.Lmain_470:
	movl -0xff8(%rbp),%ecx /* temp */
	cmpl %ecx,-0xffc(%rbp) /* j */
	jl .Lmain_479

	leaq .LC2(%rip),%rdi
	movl $0,%eax 
	call printf 

	addl $1,-0x1000(%rbp) /* i */

.Lmain_400:
	cmpl $7,-0x1000(%rbp) /* i */
	jl .Lmain_500

	movl $0,%eax
	leave
	ret
